<%-- 
    Document   : editCategory
    Created on : 14.02.2011, 14:30:55
    Author     : felix
--%>
<%@ page contentType="text/html" pageEncoding="UTF-8" %>
<%
    // Encoding setzen
    request.setCharacterEncoding("UTF-8");

    // Testen ob Parameter hidden übergeben wurde
    if(request.getParameterMap().containsKey("hidden")){

        // Wenn Parameter name nicht leer ist ...
        if(!request.getParameter("name").equals(""))
        {
            // Kategorie aktualisieren
            db.categories.updateCategory(request.getParameter("id").toString(),request.getParameter("name").toString());

            // Erfolgsmeldung setzen
            session.setAttribute("flash", "Kategorie gespeichert");
            session.setAttribute("flash_color", "green");
            
            //getServletContext().getRequestDispatcher("/viewAllTrainingplans.jsp").forward(request, response);
        } else {
            // Fehlermeldung setzen
            session.setAttribute("flash", "Bezeichnung ungültig");
            session.setAttribute("flash_color", "red");           
        }
    }
%>

<%@ include file="header.jsp" %>
<%@ page import="java.util.*" %>

<div id="contents">
    <h1>Kategorie bearbeiten</h1>
    <form action="editCategory.jsp" method="post">
        <fieldset>
            <legend>Kategorie</legend>
            <label>Kategorie auswählen</label>
            <select name="categories" onChange="this.form.submit()">
                 <%
                    // Alle Kategorien laden
                    String[][] selectableCategories = db.categories.getCategorieNamesAndIds();

                    // Für jede Kategorie
                    for(String value[]: selectableCategories){
                        // option-Element erstellen
                        out.print("<option value=\"" + value[0] + "\"");

                        // Wenn Parameter categories übergeben wurde ...
                        if(request.getParameterMap().containsKey("categories")){
                            // Wenn aktuelle Kategorie mit der übergebenen Kategorie übereinstimmt ...
                            if(value[0].toString().equals(request.getParameter("categories").toString())){
                                // Setze Kategorie als ausgewählt
                                out.print(" selected");
                            }
                        }

                        // Wenn Parameter id übergeben wurde ...
                        if(request.getParameterMap().containsKey("id")){
                            // Wenn aktuelle Kategorie mit der übergebenen ID übereinstimmt ....
                            if(value[0].toString().equals(request.getParameter("id").toString())){
                                // Setze Kategorie als ausgewählt
                                out.print(" selected");
                            }
                        }

                        // option-Element schließen
                        out.print(">" + value[1] + "</option>");
                    }
                 %>
            </select>
        </fieldset>
    </form>

    <form action="editCategory.jsp" method="post">
        <fieldset>
            <legend>Kategorie</legend>
            <input type="hidden" name="hidden" value="1"/>

            <%
                // zu bearbeitende Kategorie initialisieren
                String[] editCategory = null;

                // Wenn Parameter categories übergeben wurde ...
                if(request.getParameterMap().containsKey("categories")){
                    // Wenn Parameter categories nicht leer ist ...
                    if(!request.getParameter("categories").equals("")){
                        // Lade Details für die zu bearbeitende Kategorie
                        editCategory = db.categories.getCompleteCategoryById(request.getParameter("categories").toString());
                    }
                // Wenn Parameter id übergebn wurde ...
                } else if(request.getParameterMap().containsKey("id")){
                    // Wenn Parameter id nicht leer ist
                    if(!request.getParameter("id").equals("")){
                        // Lade Details für die zu bearbeitende Kategorie
                        editCategory = db.categories.getCompleteCategoryById(request.getParameter("id").toString());
                    }
                } else {
                   // Setze erste Kategorie als Standardauswahl
                   editCategory = selectableCategories[0];
                }
            %>

            <!-- Geladene id in Feld eintragen -->
            <input type="hidden" name="id" value="<% out.print(editCategory[0]); %>"/>

            <label>Bezeichnung*</label>
            <!-- Geladenen name in Feld eintragen -->
            <input name="name" type="text" maglength="200" value="<% out.print(editCategory[1]); %>"  />
            <br/><br/>
            * Pflichtfeld
            <br/><br/>

            <input type="submit" value="Kategorie speichern"/>

        </fieldset>
    </form>
</div>
<%@ include file="footer.jsp" %>
